<template>
  <div class="quan">
    <!-- 录播图列表 -->
    <div class="swiper">
      <!-- 录播图 -->
      <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
        <van-swipe-item v-for="(item, index) in zbqpic" :key="index">
          <img v-lazy="item.picUrl" class="pic"
        /></van-swipe-item>
      </van-swipe>
      <ul class="zhuan">
        <li>
          <van-icon name="like" />
          <p>签到</p>
        </li>
        <li>
          <van-icon name="gift" />
          <p>礼券</p>
        </li>
        <li>
          <van-icon name="coupon" />
          <p>砍价</p>
        </li>
        <li>
          <van-icon name="fire" />

          <p>专栏</p>
        </li>
      </ul>
    </div>

    <!-- 砍价列表 -->
    <div class="cut">
      <lhead title="全名砍价" @click.native="$router.push('/cutlist')" />
      <div class="cut-list" v-for="item in jq" :key="item.id">
        <div class="cut-item">
          <img :src="item.pic" />
        </div>
        <div class="cut-info">
          <p class="title" v-html="item.name"></p>
          <p class="desc">{{ item.characteristic }}</p>
          <ul class="price">
            <li>
              <span>￥{{ item.minPrice }}</span>
              <p>低价</p>
            </li>
            <li>
              <span>￥{{ item.originalPrice }}</span>
              <p>原价</p>
            </li>
            <li>
              <span>{{ item.stores }}件</span>
              <p>限量</p>
            </li>
          </ul>
        </div>
      </div>
    </div>

    <!-- 专题栏 -->
    <div class="recommand">
      <div class="rec-heard">人气推荐<van-icon name="arrow" /></div>
      <div class="rec-list">
        <van-swipe :loop="false" :width="300">
          <van-swipe-item v-for="(item, index) in special" :key="index"
            ><img :src="item.pic" class="zbqlb" />
            <p v-html="item.title"></p
          ></van-swipe-item>
        </van-swipe>
      </div>
    </div>
    <!-- 精选商品 -->
    <div class="jing">
      <div class="j-heard">精选商品<van-icon name="arrow" /></div>
      <div class="j-list">
        <ul>
          <li v-for="(item, index) in reclist" :key="index">
            <img :src="item.pic" />
            <p>{{ item.name }}</p>
            <h3 style="color: red">￥{{ item.originalPrice }}</h3>
          </li>
        </ul>
      </div>
    </div>
  </div>
</template>

<script>
import Vue from "vue";
import { Lazyload } from "vant";

Vue.use(Lazyload);
import lhead from "./lhead";
export default {
  // 组件名称
  name: "demo",
  // 组件参数 接收来自父组件的数据
  props: [],

  // 局部注册的组件
  components: {
    lhead,
  },
  // 组件状态值
  data() {
    return {
      zbqpic: "",
      active: 0,
      list: [],
      list2: [],
      jq: "",
      special: [],
      reclist: [],
    };
  },
  // 计算属性
  computed: {},
  // 侦听器
  watch: {},
  // 组件方法
  methods: {
    getmt() {
      this.$axios.get("https://api.it120.cc/small4/banner/list").then((res) => {
        console.log(res);
        this.zbqpic = res.data;
      });
    },

    getlist() {
      this.$axios
        .get("https://api.it120.cc/small4/shop/goods/kanjia/list")
        .then((res) => {
          console.log(res);
          for (let key in res.data.goodsMap) {
            console.log(key);

            this.list.push(res.data.goodsMap[key]);
          }
          this.jq = this.list.splice(-2);
          console.log(this.jq);

          // this.list2 = res.data.goodsMap;
        });
    },
    getspecial() {
      this.$axios.get("https://api.it120.cc/small4/cms/news/list").then((res) => {
        console.log(res);
        this.special = res.data;
      });
    },
    getrecomm() {
      this.$axios.get("https://api.it120.cc/small4/shop/goods/list").then((res) => {
        console.log(res);
        this.reclist = res.data;
      });
    },
  },
  // 以下是生命周期钩子 注：没用到的钩子请自行删除
  /**
   * 在实例初始化之后，组件属性计算之前，如data属性等
   */
  beforeCreate() {},
  /**
   * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
   */
  created() {},
  /**
   * 在挂载开始之前被调用：相关的 render 函数首次被调用。
   */
  beforeMount() {},
  /**
   * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
   * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
   */
  mounted() {
    this.getmt();
    this.getlist();
    this.getspecial();
    this.getrecomm();
  },
  /**
   * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
   * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
   */
  beforeUpdate() {},
  /**
   * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
   * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
   */
  updated() {},
  /**
   * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
   */
  activated() {},
  /**
   * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
   */
  deactivated() {},
  /**
   * 实例销毁之前调用。在这一步，实例仍然完全可用。
   */
  beforeDestroy() {},
  /**
   * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
   * 所有的事件监听器会被移除，所有的子实例也会被销毁。
   */
  destroyed() {},
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style lang="scss" scoped>
.quan {
  width: 100%;
  background-color: #f0f0f0;

  .pic {
    height: 300px;
    width: 100%;
  }
  .swiper {
    width: 100%;
    position: relative;
    .my-swipe .van-swipe-item {
      color: #fff;
      font-size: 20px;
      /* line-height: 150px; */
      text-align: center;
      /* background-color: #39a9ed; */
    }
    .zhuan {
      width: 100%;
      padding: 0px;
      margin: 0px;
      background: #fff;
      display: flex;
      align-items: center;
      position: absolute;
      bottom: 0px;
      left: 0px;
      padding-top: 20px;
      border-radius: 20% 20% 0 0;

      li {
        width: 25%;
        text-align: center;
        .van-icon {
          color: firebrick;
          font-size: 30px;
        }
        p {
          font-size: 18px;
        }
      }
    }
  }
  .cut {
    width: 100%;
    background: #fff;
    margin-top: 15px;

    //砍价列表区域
    .cut-list {
      width: 100%;
      display: flex;
      .cut-item {
        width: 30%;
        padding: 0 10px;
        box-sizing: border-box;
        img {
          width: 100%;
          height: 150px;
        }
      }
      .cut-info {
        width: 60%;
        .desc {
          color: #808080;
        }
        .price {
          width: 100%;
          padding: 0px;
          display: flex;
          align-items: center;
          margin-top: 20px;
          li {
            width: 30%;
            text-align: left;
          }
          li:nth-of-type(2),
          li:nth-of-type(3) {
            color: #808080;
          }
        }
      }
    }
  }
  .recommand {
    width: 100%;
    background: #fff;
    margin-top: 15px;
    .rec-heard {
      line-break: 40px;
      text-align: center;
      // margin-top: 20px;
      padding-top: 10px;
      padding-bottom: 10px;
      border-bottom: 1px #f0f0f0 solid;
    }
    .rec-list {
      width: 100%;
      height: 330px;
      .zbqlb {
        height: 250px;
      }
    }
  }
  .jing {
    width: 100%;
    background: #fff;
    margin-top: 15px;
    .j-heard {
      line-break: 40px;
      text-align: center;
      // margin-top: 20px;
      padding-top: 10px;
      padding-bottom: 10px;
      border-bottom: 1px #f0f0f0 solid;
    }
    .j-list {
      // width: 100%;
      ul {
        width: 400px;
        list-style: none;
        li {
          width: 170px;
          border: 1px solid gray;
          text-align: center;
          flex-wrap: wrap;

          display: flex;
          float: left;
          justify-content: space-around;
          margin-left: 10px;
          height: 300px;
          margin-top: 10px;
          img {
            width: 150px;
            height: 200px;
          }
        }
      }
    }
  }
}
</style>
